package com.woniu.microchargeserver.chargemag.service;

import com.github.pagehelper.PageInfo;
import com.woniu.microcommonsserver.entity.ChargedItemsInfoEntity;

import java.util.List;

/**收费项目的interface
 * @author: hejie
 * @date: 2021/1/23 7:58
 * @description:
 */
public interface IChargedItemsService {

    /**新增一个 收费项目
     * @author hejie
     * @param chargedItemsInfo
     * @return
     */
    void saveChargedItems(ChargedItemsInfoEntity chargedItemsInfo);

    /**
     * 删除 一个收费项目
     * @author hejie
     * @param id
     * @return
     */
    void deleteChargedItems(Long id);

    /**
     * 分页查询数据
     * @author hejie
     * @param pageNum 第几页
     * @param pageSize 每页显示多少条数据
     * @param column 排序的字段
     * @param order 升序还是降序
     * @param chargedItemsInfo 查询数据的部分条件
     * @param chargeCodeOrName 模糊：收费代码或收费名称
     * @return
     */
    PageInfo<ChargedItemsInfoEntity> findAllByParams(int pageNum, int pageSize, String column, String order,
                                                     ChargedItemsInfoEntity chargedItemsInfo,String chargeCodeOrName);

    /**
     * 修改 一个收费项目
     * @author hejie
     * @param chargedItemsInfo
     * @return
     */
    void updateChargedItems(ChargedItemsInfoEntity chargedItemsInfo);

    /**
     * 查询所有的“收费项目”
     * @author hejie
     * @return
     */
    List<ChargedItemsInfoEntity> findAllChargedItems();

    /**
     * 根据id：查询收费项目的 “周期方式”和周期数：为了“房间、收费中间表中的结束时间的计算”
     * @param chargedItemsInfoId
     * @return
     */
    ChargedItemsInfoEntity findById(Long chargedItemsInfoId);
}
